%pylab inline
import plotly.plotly as py
from plotly.graph_objs import *
#from plotly.tools import FigureFactory as FF
from plotly.figure_factory import create_trisurf
from skimage import measure
from plotly.offline import *
init_notebook_mode()
def dispTB(X,Y,Z):
return(-cos(X)-cos(Y)-cos(Z))
$E_{HH}(\mathbf{ k}) =- \frac{\hbar^2}{2 m_e}\,\left[ A k^2-\sqrt{B^2 k^4+ C^2\left(k_x^2 k_y^2 + k_y^2 k_z^2 +k_z^2 k_x^2\right)}\right]$ $E_{LH}(\mathbf{ k}) =- \frac{\hbar^2}{2 m_e}\,\left[ A k^2+\sqrt{B^2 k^4+ C^2\left(k_x^2 k_y^2 + k_y^2 k_z^2 +k_z^2 k_x^2\right)}\right]$,
where $A = 4.27, B = 0.63, C= 4.93 $ for Silicon
Lásd: Sólyom Jenő: A modern szilárdtest-fizika alapjai II. Fémek, félvezetők, szupravezetők
(20.2.9) egyenlet, 885. old.
# Silicium savszerkezete, spin-palya kolcsonhatassal
# Solyom Jeno, II. kotet, 885. old., (20.2.9) egyenlet
def dispSi(kx,ky,kz,params):
A, B, C = params
k2 = kx*kx+ky*ky+kz*kz
k4 = k2*k2
tmp = sqrt(B*B*k4+C*C*(kx*kx*ky*ky+ky*ky*kz*kz+kz*kz*kx*kx))
eHH = - (A*k2-tmp) # heavy hole
eLH = - (A*k2+tmp) # light hole
return([eHH,eLH])
A = 4.27
B = 0.63
C= 4.93
params = [A,B,C]
dispSi(pi,0.27,0,params)
npoints = 50j
klim = 0.5
X,Y,Z = np.mgrid[-klim:klim:npoints, -klim:klim:npoints, -klim:klim:npoints]
surf_eq = dispSi(X,Y,Z, params)[0] # heavy hole
vertices, simplices,dumm1,dumm2 = measure.marching_cubes(surf_eq, -0.5)
x,y,z = zip(*vertices)
fig = create_trisurf(x=x,y=y,z=z,simplices=simplices,plot_edges=False,title='Heavy hole band for Si')
iplot(fig)
#savefig('Si_heavy_hole.png')
npoints = 50j
klim = 0.5
X,Y,Z = np.mgrid[-klim:klim:npoints, -klim:klim:npoints, -klim:klim:npoints]
surf_eq = dispSi(X,Y,Z, params)[1] # light hole
vertices, simplices,dumm1,dumm2 = measure.marching_cubes(surf_eq, -0.5)
x,y,z = zip(*vertices)
fig = create_trisurf(x=x,y=y,z=z,simplices=simplices,plot_edges=False,title='Light hole band for Si')
iplot(fig)
#savefig('Si_light_hole.png')